OpenNI2 extension introduction

n order to support the framework in OpenNI2 to implement the call to the Smart module, the corresponding driver library samrttof.dll is provided in the SDK, This driver follows the definition of OpenNI2 in OniDriverAPI.h, which mainly includes DriverService, DriverBase, DeviceBase, StreamBase In these several categories, the driver source code for smarttof.dll is released in the SDK.

SmartToF module settings

All related parameter settings and use of filtering functions in SmartToF are performed through the setProperty function in the smarttofStream class, according to setProperty set the corresponding propertyId.

The following table lists the property ID of the property:

function ID

Description

PROPERTY_ID_PARAM_SET

Module parameter setting IDID

PROPERTY_ID_PARAM_GET

Module parameter acquisition ID

PROPERTY_ID_FILTER_LEN_CALIB_ENABLE

Lens filter enable

PROPERTY_ID_FILTER_LEN_CALIB_DISABLE

Lens filter disable

PROPERTY_ID_FILTER_PIXEL_CALIB_ENABLE

Pixel filtering enabled

PROPERTY_ID_FILTER_PIXEL_CALIB_DISABLE

Pixel filtering disabled

PROPERTY_ID_FILTER_AMP_CALIB_ENABLE

Amplitude filtering enabled

PROPERTY_ID_FILTER_AMP_CALIB_DISABLE

Amplitude filtering disabled

PROPERTY_ID_FILTER_AUTO_INTG_ENABLE

Auto exposure enabled

PROPERTY_ID_FILTER_AUTO_INTG_DISABLE

Auto exposure disabled

PROPERTY_ID_FILTER_TEMP_MONITOR_ENABLE

Temperature monitoring enabled

PROPERTY_ID_FILTER_TEMP_MONITOR_DISABLE

Temperature monitoring disabled

PROPERTY_ID_FILTER_HDR_ENABLE

HDR function enable

PROPERTY_ID_FILTER_HDR_DISABLE

HDR function disable

Sample code for module setup under OpenNI2

In OpenNI2, you can set the property ID in the above list to the SmartToF module through setProperty. For specific setting code examples, please refer to the setting of integration time code below.:

dmcam_param_item_t wparam;  //setting integration time
wparam.param_id = PARAM_INTG_TIME;
wparam.param_val.intg.intg_us = intg;
wparam.param_val_len = sizeof(wparam.param_val.intg.intg_us);
depth.setProperty(PROPERTY_ID_PARAM_SET, (void *)&wparam, sizeof(wparam));

The code to get the module settings is as follows:

dmcam_param_item_t rparam;  //getting framerate
rparam.param_id = PARAM_FRAME_RATE;
rparam.param_val_len = sizeof(rparam.param_val.frame_rate.fps);
depth.getProperty(PROPERTY_ID_PARAM_GET, &rparam);
printf("frame rate:%d fps\n", rparam.param_val.frame_rate.fps);